將活動的 CRUD 都完成了後,接下來我想讓系統擁有身分權限、註冊登入的功能,好讓後續可以切分出活動舉辦者與報名者的身分。
本次專案要使用的是 ASP.NET Core Identity 的身分認證機制。
ASP.NET Identity 在過去 .NET Framework 的 ASP.NET 時代就已經存在,提供開發人員在開發 ASP.NET 網頁開發程式時,可以快速導入身分驗證機制。
不過我在瀏覽微軟官方的 ASP.NET Identity 教學文件時,似乎在功能、畫面的加入是需要由開發人員慢慢加入的,例如自行從 NuGet 下載套件、自行撰寫功能 Webform、View 等,這部份如果有誤再請指教。
而 ASP.NET Core Identity 變成專案的型式來導入,如同新增新的 WebAPI、MVC 專案一樣,手指點一點就完成了導入。
一樣使用 Scaffold 的方式來新增功能:
選擇"識別":
接著就會跳出一個很多選項的視窗,這裡提供很多關於身分驗證的功能,例如 2FA、兩階段驗證等,那麼這裡我勾選了一些功能,照字面上看應該可以看出那些功能的用途,而我也建議,再做這一步之前,先將版控 commit 一版:
新增後,專案內會增加 Area 以及裡面的檔案:
這裡先設定一個全名的屬性就好:
新增此 Model 的用意是,讓我們可以自訂 Identity 使用者的資料屬性,目前就是在使用者資料新增一個 FullName 的屬性。
至此 Identity 已經導入完成。
抱歉這幾天公司業務繁忙,內容可能比較少一點,今天先將 Identity 加入,明天再繼續實際使用功能,以及說明一下 RazorPage。
那麼我們明天見了!
ASP.NET Identity 簡介
在 ASP.NET Core專案中新增 Identity 、下載和刪除自訂使用者資料